package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购单详情对象 tb_delivery_detail
 *
 * @author ruoyi
 * @date 2024-09-05
 */
public class DeliveryDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;
    /**
     * 学校id
     */
    @Excel(name = "学校id")
    private Long schoolId;

    /**
     * 采购单id
     */
    @Excel(name = "采购单id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long deliveryId;

    /**
     * 分类id
     */
    @Excel(name = "分类id")
    private Long typeId;

    /**
     * 规格id
     */
    @Excel(name = "规格id")
    private Long specId;

    /**
     * 单位id
     */
    @Excel(name = "单位id")
    private Long brandId;

    /**
     * 单价
     */
    @Excel(name = "单价")
    private BigDecimal price;

    /**
     * 总价
     */
    @Excel(name = "总价")
    private BigDecimal money;

    /**
     * 配送单价
     */
    @Excel(name = "配送单价")
    private BigDecimal sendPrice;

    /**
     * 配送总价
     */
    @Excel(name = "配送总价")
    private BigDecimal sendMoney;


    /**
     * 总数量
     */
    @Excel(name = "总数量")
    private BigDecimal num;

    /**
     * 收货数量
     */
    @Excel(name = "收货数量")
    private BigDecimal shouNum;

    /**
     * 未收货数量
     */
    @Excel(name = "未收货数量")
    private BigDecimal weiNum;

    /**
     * 竞标记录id
     */
    @Excel(name = "竞标记录id")
    private Long logId;

    /**
     * 报量单id
     */
    @Excel(name = "报量单id")
    private Long doseId;

    /**
     * 0正常 1删除
     */
    @Excel(name = "0正常 1删除")
    private Integer deleted;

    /**
     * 收货均价
     */
    @Excel(name = "收货均价")
    private BigDecimal jMoney;
    /**
     * 配送均价
     */
    @Excel(name = "配送均价")
    private BigDecimal jMoneySend;

    /**
     * 状态 0待验收 1已验收
     */
    private Integer status;

    private String typeName;
    private String specName;
    private String brandName;
    private String schoolName;

    /**
     * 行业类目名称
     */
    private String cateName;

    /**
     * 供应商公司名称
     */
    private String companyName;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "配送时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sendTime;

    /**
     * 查询单号
     */
    private Long deliveryIdSearch;

    /**
     * 验收证明文件
     */
    private String proveFile;

    public String getProveFile() {
        return proveFile;
    }

    public void setProveFile(String proveFile) {
        this.proveFile = proveFile;
    }

    public String getCateName() {
        return cateName;
    }

    public void setCateName(String cateName) {
        this.cateName = cateName;
    }

    public Long getDeliveryIdSearch() {
        return deliveryIdSearch;
    }

    public void setDeliveryIdSearch(Long deliveryIdSearch) {
        this.deliveryIdSearch = deliveryIdSearch;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public Date getSendTime() {
        return sendTime;
    }

    public void setSendTime(Date sendTime) {
        this.sendTime = sendTime;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getSpecName() {
        return specName;
    }

    public void setSpecName(String specName) {
        this.specName = specName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public BigDecimal getjMoney() {
        return jMoney;
    }

    public void setjMoney(BigDecimal jMoney) {
        this.jMoney = jMoney;
    }

    public BigDecimal getjMoneySend() {
        return jMoneySend;
    }

    public void setjMoneySend(BigDecimal jMoneySend) {
        this.jMoneySend = jMoneySend;
    }

    public BigDecimal getSendPrice() {
        return sendPrice;
    }

    public void setSendPrice(BigDecimal sendPrice) {
        this.sendPrice = sendPrice;
    }

    public BigDecimal getSendMoney() {
        return sendMoney;
    }

    public void setSendMoney(BigDecimal sendMoney) {
        this.sendMoney = sendMoney;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setDeliveryId(Long deliveryId) {
        this.deliveryId = deliveryId;
    }

    public Long getDeliveryId() {
        return deliveryId;
    }

    public void setTypeId(Long typeId) {
        this.typeId = typeId;
    }

    public Long getTypeId() {
        return typeId;
    }

    public void setSpecId(Long specId) {
        this.specId = specId;
    }

    public Long getSpecId() {
        return specId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setNum(BigDecimal num) {
        this.num = num;
    }

    public BigDecimal getNum() {
        return num;
    }

    public void setShouNum(BigDecimal shouNum) {
        this.shouNum = shouNum;
    }

    public BigDecimal getShouNum() {
        return shouNum;
    }

    public void setWeiNum(BigDecimal weiNum) {
        this.weiNum = weiNum;
    }

    public BigDecimal getWeiNum() {
        return weiNum;
    }

    public void setLogId(Long logId) {
        this.logId = logId;
    }

    public Long getLogId() {
        return logId;
    }

    public void setDoseId(Long doseId) {
        this.doseId = doseId;
    }

    public Long getDoseId() {
        return doseId;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    public Integer getDeleted() {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deliveryId", getDeliveryId())
                .append("typeId", getTypeId())
                .append("specId", getSpecId())
                .append("brandId", getBrandId())
                .append("price", getPrice())
                .append("money", getMoney())
                .append("num", getNum())
                .append("shouNum", getShouNum())
                .append("weiNum", getWeiNum())
                .append("remark", getRemark())
                .append("logId", getLogId())
                .append("doseId", getDoseId())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("deleted", getDeleted())
                .toString();
    }
}
